Type Maps

Il problema della direttiva MultiViews è dato dal fatto che è solo il client a decidere quale priorità dare ad un documento rispetto ad un altro.
Tramite il modulo mod_negotiation che associa la funzionalità di Multiviews e di type maps è possibile configurare lato server queste preferenze.

Per configurare Apache in modo tale che utilizzi le type maps lo si associa ad una estensione.
L'estensione più utilizzata è .var ed è settabile tramite la direttiva AddHandler:
AddHandler type-map  .var

Adesso si possono definire le server preferences per ogni documento .var.
Ovviamente tutti i browser non sono configurati per richiedere documenti .var quindi occorre aggiungere un piccolo work-around lato server tramite Rewrite:
RewriteRule ^(.*).html$ $1.var [NS]

Il contenuto del file type map è una serie di records (uno per ogni tipo di file), ecco un piccolo elenco dei vari headers permessi:
URI
La relativa URI del file, rispetto alla locazione della type map:
URI: lang/it/index.html.it
Content-Type
Il content-Type del file:
Content-Type: text/html
Content-Encoding
Content-Encoding del file se ne ha una.
Content-Language
La lingua del file, se ne ha una.
Content-Lenght
Lunghezza del file, se presente Apache utilizzerà il valore settato per eventuali check.
Description
Aggiunge una stringa che descrive la variante del file.

Type maps File example:
URI: index.html.en
Content-Type: text/html
Content-Language: en
Description: "English"

URI: index.html.de
Content-Type: text/html
Content-Language: de
Description: "German"

URI: index.html.it
Content-Type: text/html
Content-Language:it
Description: "Italian"

Privacy Policy